package com.meituan.catering.management.order.biz.service;

import com.meituan.catering.management.common.model.api.http.UserContextHttpRequest;
import com.meituan.catering.management.common.model.biz.PageBO;
import com.meituan.catering.management.order.api.http.model.request.SearchCateringOrderHttpRequest;
import com.meituan.catering.management.order.biz.model.CateringOrderBO;
import com.meituan.catering.management.order.biz.model.CateringOrderItemAccessoryBO;
import com.meituan.catering.management.order.biz.model.CateringOrderItemBO;

import java.util.List;

/**
 * 订单查询服务
 */
public interface CateringOrderQueryService {

    PageBO searchForPage(UserContextHttpRequest userContextHttpRequest, SearchCateringOrderHttpRequest request);

    CateringOrderBO findById(UserContextHttpRequest userContextHttpRequest, Long orderId);
    /**
     * 根据订单id 序号 租户号 精确查找子订单
     */
    CateringOrderItemBO findItemByOrderId(Long orderId,String seqNo,Long tenantId);
    /**
     * 根据子订单id 序号 租户号 精确查找子订单下的用料
     */
    CateringOrderItemAccessoryBO findItemAccByItemId(Long itemId,String seqNo,Long tenantId);
    List<CateringOrderItemAccessoryBO> findItemAccsByItemId(Long itemId,Long tenantId);
    /**
     * 根据租户号 和订单号 查询子订单集
     * @param tenantId 租户号
     * @param orderId 订单号
     * @return   List<CateringOrderItemDO>
     */
    List<CateringOrderItemBO> findItemsByOrderId(Long tenantId, Long orderId);
}
